package pe.edu.sistemas.postgrado.samupg.view.controller;

import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import pe.edu.sistemas.postgrado.samupg.business.service.informacion.NotificacionService;
import pe.edu.sistemas.postgrado.samupg.business.service.informacion.PublicacionService;
import pe.edu.sistemas.postgrado.samupg.domain.model.Notificacion;
import pe.edu.sistemas.postgrado.samupg.domain.model.Publicacion;
import pe.edu.sistemas.postgrado.samupg.domain.model.Usuario;
import pe.edu.sistemas.postgrado.samupg.util.UtilSAMUPG;

/**
 *
 * @author Marlon
 */
@ManagedBean
@Scope("view")
@Controller
public class listadoNotificacion {

    private List<Notificacion> listNotificaciones;
    private Integer idNotificacion;
    
    @Resource
    private NotificacionService notificacionService;
    
    /**
     * Creates a new instance of InteresadoPrincipalController
     */
    public listadoNotificacion() {
    }
    
    @PostConstruct
    public void init() {
        listNotificaciones = notificacionService.getNotificacionesxUsuario(UtilSAMUPG.isUsuarioLogeado());
    }

    public String logoutAction() {
        FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
        FacesContext.getCurrentInstance().getExternalContext().getSession(true);
        return "/index.jsf?faces-redirect=true";
    }
    
    public Notificacion getNotificacionActual() {
        return listNotificaciones.get(idNotificacion-1);
    }
    
    public List<Notificacion> getListNotificaciones() {
        return listNotificaciones;
    }

    public void setListNotificaciones(List<Notificacion> listNotificaciones) {
        this.listNotificaciones = listNotificaciones;
    }

    public Integer getIdNotificacion() {
        return idNotificacion;
    }

    public void setIdNotificacion(Integer idNotificacion) {
        this.idNotificacion = idNotificacion;
    }
    
    public Usuario getUsuario() {
        return UtilSAMUPG.isUsuarioLogeado();
    }
}
